In a network resources are constantly accessed to perform functions or operations based upon specified commands. Different applications or devices within the network may request access to the same system resources to perform the functions or operations. Further, these different applications or devices may request that the system resources perform the same or different functions and/or operations.
A queue is often provided to control requests from different applications or devices within a network to access the system resources. A queue typically contains elements, each having commands or tasks associated therewith for requesting access to the system resources to perform specific functions or operations. The elements may be arranged, for example, based upon time (e.g., first in, first out) or may be arranged based upon priority (e.g., highest priority first). Further, queues may be used to control access to many different types of system resources. For example, a printer queue may be provided for controlling print requests to one or more printers (e.g., controlling the order in which the print commands in the printer queue are executed). As another example, a queue may be provided that controls access to a network device (e.g., storage device) for obtaining status or event information relating to that network device.
Therefore, improving control of the queues may provide improvement in overall network performance (e.g., more efficient access to network resources may reduce access times to the resources). Further, improved control of queues may reduce the amount of network operations needed to execute the commands in the queue (e.g., use less processing power to execute the commands).